﻿using System;
using System.Data;
using System.Text;
using System.Web.UI;
using System.Web.UI.WebControls;
using VanTaiBLL;
using VanTaiProperty;

namespace VanTaiTMS.SubPage
{
    public partial class Uc_KyHieuVatTuSuaChua : UserControl
    {
        private readonly clsTMSymbolRepairMaterialsBusiness _clsLoaiVatTuSuaChua = new clsTMSymbolRepairMaterialsBusiness();
        private DataTable _dtLoaiVatTuSuaChua;
        protected void Page_Load(object sender, EventArgs e)
        {
            imgSave.ToolTip = "Thêm mới";
            upNewUpdatePanel.Update();
            imgSave.Visible = true;
            if (!IsPostBack)
            {
                BindDRVatTuSuaChua();
            }
        }
        protected void imgrefesh_Click(object sender, ImageClickEventArgs e)
        {
            BindDRVatTuSuaChua();
        }
        protected void imgSave_Click(object sender, ImageClickEventArgs e)
        {
            if (txtTenLoaiVatTuSuaChua.Text == "")
            {
                lbThongBaoLoi.Text = "Vui lòng điền vào tên Loại Vật Tư Sữa Chữa !";
                OpenDialog("#ucthongbaoKyHieu");
                updatePanelThongBao.Update();
            }
            if (txtMaLoaiVatTuSuaChua.Text == "")
            {
                lbThongBaoLoi.Text = "Vui lòng điền vào mã Loại Vật Tư Sữa Chữa !";
                OpenDialog("#ucthongbaoKyHieu");
                updatePanelThongBao.Update();
            }
            if (txtMaLoaiVatTuSuaChua.Text != "" && txtTenLoaiVatTuSuaChua.Text != "")
            {
                InsertLoaiVatTuSuaChua();
            }
        }
        protected void cmdCloseThongBao_Click(object sender, EventArgs e)
        {
            CloseDialog("#ucthongbaoKyHieu");
        }
        protected void BindDRVatTuSuaChua()
        {
            var clsVatTuSuaChua = new clsTMRepairMaterialsBusiness();
            DataTable dtVatTuSuaChua = clsVatTuSuaChua.Search("");
            if (dtVatTuSuaChua != null && dtVatTuSuaChua.Rows.Count > 0)
            {
                drVatTuSuaChua.Items.Clear();
                drVatTuSuaChua.Items.Add(new ListItem("---Vui lòng chọn vật tư sữa chữa---", "-1"));
                drVatTuSuaChua.DataSource = dtVatTuSuaChua;
                drVatTuSuaChua.DataTextField = "RepairMaterials_Name";
                drVatTuSuaChua.DataValueField = "RepairMaterials_ID";
                drVatTuSuaChua.DataBind();
            }
        }
        protected bool CheckInsert()
        {
            bool kiemtra = false;
            _dtLoaiVatTuSuaChua = _clsLoaiVatTuSuaChua.Search("");
            if (_dtLoaiVatTuSuaChua != null && _dtLoaiVatTuSuaChua.Rows.Count > 0)
            {
                foreach (DataRow dr in _dtLoaiVatTuSuaChua.Rows)
                {
                    if (txtMaLoaiVatTuSuaChua.Text == dr["SymbolRepairMaterials_ID"].ToString())
                    {
                        kiemtra = true;
                    }
                }
            }
            return kiemtra;
        }
        protected bool CheckInsertnName()
        {
            bool kiemtra = false;
            _dtLoaiVatTuSuaChua = _clsLoaiVatTuSuaChua.Search("");
            if (_dtLoaiVatTuSuaChua != null && _dtLoaiVatTuSuaChua.Rows.Count > 0)
            {
                foreach (DataRow dr in _dtLoaiVatTuSuaChua.Rows)
                {
                    if (txtTenLoaiVatTuSuaChua.Text == dr["SymbolRepairMaterials_Name"].ToString())
                    {
                        kiemtra = true;
                    }
                }
            }
            return kiemtra;
        }
        protected void InsertLoaiVatTuSuaChua()
        {
            try
            {
                if (CheckInsert())
                {
                    lbThongBaoLoi.Text = "Mã Loại Vật Tư Sữa Chữa này đã tồn tại !";
                    OpenDialog("#ucthongbaoKyHieu");
                    updatePanelThongBao.Update();
                }
                else
                {
                    if (CheckInsertnName())
                    {
                        lbThongBaoLoi.Text = "Tên Loại Vật Tư Sữa Chữa này đã tồn tại !";
                        OpenDialog("#ucthongbaoKyHieu");
                        updatePanelThongBao.Update();
                    }
                    else
                    {
                        var obj = new clsTMSymbolRepairMaterialsProperty
                        {
                            SymbolRepairMaterials_Alias = txtMaLoaiVatTuSuaChua.Text,
                            SymbolRepairMaterials_Name = txtTenLoaiVatTuSuaChua.Text,
                            RepairMaterials_ID = Convert.ToInt32(drVatTuSuaChua.SelectedValue),
                            SymbolRepairMaterials_Note = txtGhiChu.Text
                        };
                        clsTMSymbolRepairMaterialsBusiness.InsertTMSymbolRepairMaterials(obj);
                        lbThongBaoLoi.Text = "Thêm mới thành công mẫu tin !";
                        OpenDialog("#ucthongbaoKyHieu");
                        updatePanelThongBao.Update();
                        ClearTextbox();
                        txtMaLoaiVatTuSuaChua.Text = "MT000" + MaTuDong();
                    }
                }
            }
            catch (Exception ex)
            {
                lbThongBaoLoi.Text = ex.ToString();
                updatePanelThongBao.Update();
            }
        }
        #region[MaTangTuDong]

        protected int MaTuDong()
        {
            int i = 0;
            _dtLoaiVatTuSuaChua = _clsLoaiVatTuSuaChua.Search("");
            if (_dtLoaiVatTuSuaChua != null && _dtLoaiVatTuSuaChua.Rows.Count > 0)
            {
                int max = Convert.ToInt32(_dtLoaiVatTuSuaChua.Rows[0]["SymbolRepairMaterials_ID"].ToString());
                for (i = 0; i < _dtLoaiVatTuSuaChua.Rows.Count; i++)
                {
                    if (int.Parse(_dtLoaiVatTuSuaChua.Rows[i]["SymbolRepairMaterials_ID"].ToString()) > max)
                    {
                        max = Convert.ToInt32(_dtLoaiVatTuSuaChua.Rows[i]["SymbolRepairMaterials_ID"].ToString());
                    }
                }
                i = max + 1;
            }
            return i;
        }

        #endregion

        #region[ClearTextBox]

        protected void ClearTextbox()
        {
            txtGhiChu.Text = "";
            drVatTuSuaChua.SelectedIndex = -1;
            txtTenLoaiVatTuSuaChua.Text = "";
            txtMaLoaiVatTuSuaChua.Text = "";
        }

        #endregion

        #region[OpenDialog]

        private void OpenDialog(string dialogId)
        {
            var sb = new StringBuilder();
            sb.Append("$('" + dialogId + "').dialog('open');");
            ScriptManager.RegisterStartupScript(Page, Page.GetType(),
                "scriptKey", sb.ToString(), true);
        }

        private void CloseDialog(string dialogId)
        {
            var sb = new StringBuilder();
            sb.Append("$('" + dialogId + "').dialog('close');");
            ScriptManager.RegisterStartupScript(Page, Page.GetType(),
                "scriptKey", sb.ToString(), true);
        }

        #endregion
    }
}